package com.snail.clouds.framework.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 云盘账号管理表实体类
 * 存储用户的云盘账号信息和登录状态
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cloud_accounts")
public class CloudAccount extends BaseEntity {
    /**
     * 账号ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    /**
     * 所属用户ID
     */
    @TableField("user_id")
    private Long userId;
    
    /**
     * 云盘类型(tianyi/alibaba/baidu等)
     */
    @TableField("cloud_type")
    private String cloudType;
    
    /**
     * 云盘账号
     */
    @TableField("account")
    private String account;
    
    /**
     * 云盘密码(可选)
     */
    @TableField("password")
    private String password;
    
    /**
     * 账号状态(active/inactive/error)
     */
    @TableField("status")
    private String status;
    
    /**
     * 登录序列化缓存数据
     */
    @TableField("login_cache")
    private String loginCache;
    
    /**
     * 账号信息JSON
     */
    @TableField("account_info")
    private String accountInfo;
    
    /**
     * 总存储空间(字节)
     */
    @TableField("total_storage")
    private Long totalStorage;
    
    /**
     * 已用存储空间(字节)
     */
    @TableField("used_storage")
    private Long usedStorage;
}